/*
 * @Author: tomwoo tom.woo@outlook.com
 * @Date: 2025-08-07 20:07:48
 * @LastEditors: tomwoo tom.woo@outlook.com
 * @LastEditTime: 2025-08-12 01:12:43
 * @FilePath: /Weather_Forecast_Agent/update-current-datetime.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */

function updateCurrentDatetime() {
    var eleDatetime1a = document.getElementById("datetime-1a");
    var eleDatetime1b = document.getElementById("datetime-1b");
    var eleDatetime2a = document.getElementById("datetime-2a");
    var eleDatetime2b = document.getElementById("datetime-2b");

    if (eleDatetime1a || eleDatetime2a) {
        var datetimeA = new Date(); // 获取当前日期时间
        var year = datetimeA.getUTCFullYear().toString().padStart(); // 获取年
        var month = (datetimeA.getUTCMonth() + 1).toString().padStart(2, '0'); // 获取月，并确保是两位数
        var date = datetimeA.getUTCDate().toString().padStart(2, '0'); // 获取日，并确保是两位数
        var hour = datetimeA.getUTCHours().toString().padStart(2, '0'); // 获取小时，并确保是两位数
        var minute = datetimeA.getUTCMinutes().toString().padStart(2, '0'); // 获取分钟，并确保是两位数
        var second = datetimeA.getUTCSeconds().toString().padStart(2, '0'); // 获取秒数，并确保是两位数
        var datetimeStringA = `世界标准时间：${year}-${month}-${date} ${hour}:${minute}:${second}`; // 格式化时间字符串
        if (eleDatetime1a) {
            eleDatetime1a.innerText = datetimeStringA; // 更新页面上的时间显示
        }
        if (eleDatetime2a) {
            eleDatetime2a.innerText = datetimeStringA; // 更新页面上的时间显示
        }
    }

    if (eleDatetime1b) {
        var timezoneDelta1 = parseFloat(eleDatetime1b.dataset.timezoneDelta);
        var datetime1b = new Date(datetimeA);
        datetime1b.setUTCMinutes(datetime1b.getUTCMinutes() + 60 * timezoneDelta1);
        year = datetime1b.getUTCFullYear().toString().padStart(); // 获取年
        month = (datetime1b.getUTCMonth() + 1).toString().padStart(2, '0'); // 获取月，并确保是两位数
        date = datetime1b.getUTCDate().toString().padStart(2, '0'); // 获取日，并确保是两位数
        hour = datetime1b.getUTCHours().toString().padStart(2, '0'); // 获取小时，并确保是两位数
        minute = datetime1b.getUTCMinutes().toString().padStart(2, '0'); // 获取分钟，并确保是两位数
        second = datetime1b.getUTCSeconds().toString().padStart(2, '0'); // 获取秒数，并确保是两位数
        var datetimeString1b = `当地日期时间：${year}-${month}-${date} ${hour}:${minute}:${second}`; // 格式化时间字符串
        eleDatetime1b.innerText = datetimeString1b;
    }

    if (eleDatetime2b) {
        var timezoneDelta2 = parseFloat(eleDatetime2b.dataset.timezoneDelta);
        var datetime2b = new Date(datetimeA);
        datetime2b.setUTCMinutes(datetime2b.getUTCMinutes() + 60 * timezoneDelta2);
        year = datetime2b.getUTCFullYear().toString().padStart(); // 获取年
        month = (datetime2b.getUTCMonth() + 1).toString().padStart(2, '0'); // 获取月，并确保是两位数
        date = datetime2b.getUTCDate().toString().padStart(2, '0'); // 获取日，并确保是两位数
        hour = datetime2b.getUTCHours().toString().padStart(2, '0'); // 获取小时，并确保是两位数
        minute = datetime2b.getUTCMinutes().toString().padStart(2, '0'); // 获取分钟，并确保是两位数
        second = datetime2b.getUTCSeconds().toString().padStart(2, '0'); // 获取秒数，并确保是两位数
        var datetimeString2b = `当地日期时间：${year}-${month}-${date} ${hour}:${minute}:${second}`; // 格式化时间字符串
        eleDatetime2b.innerText = datetimeString2b; // 更新页面上的时间显示
    }
}

// 每秒调用updateCurrentDatetime函数
setInterval(updateCurrentDatetime, 1000); // 1000毫秒等于1秒

// end of file
